home *** CD-ROM | disk | FTP | other *** search
/ GFX Sensations 1 / Graphic Sensations - Volume 1.iso / tools / amiga / 3d_tools / irit40s.lha / Irit / prsr_lib / allocate.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-30  |  3.1 KB  |  69 lines

  1. /*****************************************************************************
  2. * Definitions, visible to others, of the dynamic allocator module.         *
  3. *                                         *
  4. * Written by:  Gershon Elber                Ver 0.2, Mar. 1990   *
  5. *****************************************************************************/
  6.  
  7. #ifndef    ALLOCATE_GH
  8. #define    ALLOCATE_GH
  9.  
  10. #include "iritprsr.h"
  11. #include "cagd_lib.h"
  12.  
  13. IPVertexStruct *IPAllocVertex(ByteType Count, ByteType Tags,
  14.                 IPPolygonStruct *PAdj, IPVertexStruct *Pnext);
  15. IPPolygonStruct *IPAllocPolygon(ByteType Count, ByteType Tags,
  16.                 IPVertexStruct *V, IPPolygonStruct *Pnext);
  17. IPObjectStruct *IPAllocObject(char *Name, IPObjStructType ObjType,
  18.                          IPObjectStruct *Pnext);
  19. void IPFreeVertex(IPVertexStruct *V);
  20. void IPFreePolygon(IPPolygonStruct *P);
  21. void IPFreeObject(IPObjectStruct *O);
  22. void IPFreeVertexList(IPVertexStruct *VFirst);
  23. void IPFreePolygonList(IPPolygonStruct *PPoly);
  24. void IPFreeObjectList(IPObjectStruct *O);
  25.  
  26. int ListObjectLength(IPObjectStruct *PObj);
  27. void ListObjectInsert(IPObjectStruct *PObjList, int Index,
  28.                              IPObjectStruct *PObjItem);
  29. IPObjectStruct *ListObjectGet(IPObjectStruct *PObjList, int Index);
  30. void ReallocNewTypeObject(IPObjectStruct *PObj, IPObjStructType ObjType);
  31.  
  32. IPObjectStruct *GenPolyObject(char *Name, IPPolygonStruct *Pl,
  33.                             IPObjectStruct *Pnext);
  34. IPObjectStruct *GenPOLYObject(IPPolygonStruct *Pl);
  35. IPObjectStruct *GenCrvObject(char *Name, CagdCrvStruct *Crv,
  36.                             IPObjectStruct *Pnext);
  37. IPObjectStruct *GenCRVObject(CagdCrvStruct *Crv);
  38. IPObjectStruct *GenSrfObject(char *Name, CagdSrfStruct *Srf,
  39.                             IPObjectStruct *Pnext);
  40. IPObjectStruct *GenSRFObject(CagdSrfStruct *Srf);
  41. IPObjectStruct *GenCtlPtObject(char *Name, CagdPointType PtType,
  42.         CagdRType *CagdCoords, RealType *Coords, IPObjectStruct *Pnext);
  43. IPObjectStruct *GenCTLPTObject(CagdPointType PtType, CagdRType *CagdCoords,
  44.                             RealType *Coords);
  45. IPObjectStruct *GenNumObject(char *Name, RealType *R, IPObjectStruct *Pnext);
  46. IPObjectStruct *GenNUMObject(RealType *R);
  47. IPObjectStruct *GenNUMValObject(RealType R);
  48. IPObjectStruct *GenPtObject(char *Name, RealType *Pt0, RealType *Pt1,
  49.                     RealType *Pt2, IPObjectStruct *Pnext);
  50. IPObjectStruct *GenPTObject(RealType *Pt0, RealType *Pt1, RealType *Pt2);
  51. IPObjectStruct *GenVecObject(char *Name, RealType *Vec0, RealType *Vec1,
  52.                     RealType *Vec2, IPObjectStruct *Pnext);
  53. IPObjectStruct *GenVECObject(RealType *Vec0, RealType *Vec1, RealType *Vec2);
  54. IPObjectStruct *GenPlaneObject(char *Name, RealType *Plane0, RealType *Plane1,
  55.             RealType *Plane2, RealType *Plane3, IPObjectStruct *Pnext);
  56. IPObjectStruct *GenPLANEObject(RealType *Plane0, RealType *Plane1,
  57.                        RealType *Plane2, RealType *Plane3);
  58. IPObjectStruct *GenMatObject(char *Name, MatrixType Mat, IPObjectStruct *Pnext);
  59. IPObjectStruct *GenMATObject(MatrixType Mat);
  60.  
  61. IPObjectStruct *CopyObject(IPObjectStruct *Dest, IPObjectStruct *Src,
  62.                                 int CopyAll);
  63.  
  64. IPObjectStruct *CopyObjectList(IPObjectStruct *PObjs, int CopyAll);
  65. IPPolygonStruct *CopyPolygonList(IPPolygonStruct *Src);
  66. IPVertexStruct *CopyVertexList(IPVertexStruct *Src);
  67.  
  68. #endif    /* ALLOCATE_GH */
  69.